package com.sky.mapper;

import com.sky.entity.ShoppingCart;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * @author jingchun
 * @create 2024-04-28 19:34
 */

@Mapper
public interface ShoppingCartMapper {

	/**
	 * 根据用户id更新购物车数据+1
	 * @param cart
	 */

	@Update("update shopping_cart set number = #{number} where id = #{id}")
	 void updateNumberByid(ShoppingCart cart);

	/**
	 * 查询购物车数据
	 * @param shoppingcart
	 * @return
	 */
	List<ShoppingCart> list(ShoppingCart shoppingcart);

	/**
	 * 插入购物车数据
	 * @param shoppingCart
	 */
	@Insert("insert into shopping_cart (name, image, user_id, dish_id, setmeal_id, dish_flavor, amount, create_time) " +
			"values (#{name}, #{image}, #{userId}, #{dishId}, #{setmealId}, #{dishFlavor}, #{amount}, #{createTime})" )
	void insert(ShoppingCart shoppingCart);

	/**
	 * 清空购物车
	 * @param userId
	 */
	@Delete("delete from shopping_cart where user_id = #{userId}")
	void deleteByUserId(Long userId);

	/**
	 * 批量插入购物车数据
	 *
	 * @param shoppingCartList
	 */
	void insertBatch(List<ShoppingCart> shoppingCartList);
}
